As software applications grow in size, accomplishing installation in a reasonable amount of time becomes more and more challenging. For example, an application may include a wide variety of content to handle a wide variety of scenarios. Conventional approaches copy such content to a local location, thereby achieving installation of the application.
Streaming installation can be accomplished by executing the application before the entire application is installed. For example, if execution is known to be completely linear and bandwidth is sufficient, pre-fetching of content can conceivably be engineered to remain ahead of content requests for the application.
However, strict linear execution cannot be expected in real-world use cases. Therefore, such an approach typically fails or suffers from poor performance. There are other ways of achieving streaming installation, but they typically require that such installation be designed into the application, adding considerable complexity to the software development process.
There is therefore room for improvement.